/**
 * TikTok数据提取工具使用示例
 */

import { extractFromTikTokFile, getDataStats, type ExtractedData } from './dataExtractor';
// 导入JSON数据
import tikTokData from '../mock/hot_search/tiktokshopglobalselling-2025-10-23.json';

/**
 * 使用示例：提取TikTok热搜数据
 */
export function exampleUsage(): ExtractedData {
  try {
    // 提取数据
    const extractedData = extractFromTikTokFile(tikTokData);
    
    // 获取统计信息
    const stats = getDataStats(extractedData);
    
    console.log('数据提取完成：');
    console.log(`图片地址总数: ${stats.totalSrc}`);
    console.log(`内容总数: ${stats.totalContent}`);
    console.log(`唯一图片地址数: ${stats.uniqueSrc}`);
    console.log(`唯一内容数: ${stats.uniqueContent}`);
    
    // 显示前5个图片地址
    console.log('\n前5个图片地址:');
    extractedData.src.slice(0, 5).forEach((src, index) => {
      console.log(`${index + 1}. ${src}`);
    });
    
    // 显示前5个内容
    console.log('\n前5个内容:');
    extractedData.content.slice(0, 5).forEach((content, index) => {
      console.log(`${index + 1}. ${content}`);
    });
    
    return extractedData;
  } catch (error) {
    console.error('数据提取失败:', error);
    return { src: [], content: [] };
  }
}

/**
 * 过滤特定类型的图片地址
 * @param data - 提取的数据
 * @param domain - 要过滤的域名
 * @returns 过滤后的图片地址数组
 */
export function filterImagesByDomain(data: ExtractedData, domain: string): string[] {
  return data.src.filter(src => src.includes(domain));
}

/**
 * 搜索包含特定关键词的内容
 * @param data - 提取的数据
 * @param keyword - 搜索关键词
 * @returns 包含关键词的内容数组
 */
export function searchContentByKeyword(data: ExtractedData, keyword: string): string[] {
  return data.content.filter(content => 
    content.toLowerCase().includes(keyword.toLowerCase())
  );
}